The frame user is responsible for using the frame properties, while the track is responsible for returning the correct frame
By using Array2D instead of T[][], only one array instance is created, not "n" arrays. So it is a lot faster when you use that instead of array of arrays.
X, Y
See Implementation
The frame user is responsible for using the frame properties, while the track is responsible for returning the correct frame